-- *****************************************************************
-- Descriptions of Managed Objects for NMS Application Health Status.
--
-- September 2001, Tirthankar Banerjee
--
-- Copyright (c) 2001 by cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************

CISCO-NMS-APPL-HEALTH-MIB DEFINITIONS ::= BEGIN

IMPORTS
    DateAndTime
                               FROM SNMPv2-TC
    MODULE-IDENTITY,
    OBJECT-TYPE,
    NOTIFICATION-TYPE,
    Counter32,
    Unsigned32
                               FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    OBJECT-GROUP,
    NOTIFICATION-GROUP
                               FROM SNMPv2-CONF
    SnmpAdminString
                               FROM SNMP-FRAMEWORK-MIB
    ciscoMgmt
                               FROM CISCO-SMI
    CiscoAlarmSeverity
                               FROM CISCO-TC;


ciscoNmsApplHealthMIB MODULE-IDENTITY
    LAST-UPDATED        "200110240000Z"
    ORGANIZATION        "Cisco Systems, Inc."
    CONTACT-INFO
                        "Cisco Systems
                         Customer Service

                         Postal: 170 W Tasman Drive
                         San Jose, CA  95134
                         USA

                         Tel: +1 800 553-NETS

                         E-mail: cs-nmsapplhealth@cisco.com"
    DESCRIPTION
                        "This MIB defines Cisco NMS Application (cna) Health
                         Status Notifications and the related objects. These
                         notifications will be sent to the OSS/NMS to inform
                         them about the NMS application status (started,
                         stopped, failed, busy etc.) or any abnormal exit of
                         applications."

    REVISION            "200110240000Z"
        DESCRIPTION
            "Added cnaHealthStatusChangeTime (DateAndTime) object."
    REVISION            "200110150000Z"
        DESCRIPTION
            "Initial version of this MIB module."
    ::= { ciscoMgmt 237 }

ciscoNmsApplHealthNotifs      OBJECT IDENTIFIER ::= { ciscoNmsApplHealthMIB 0 }
ciscoNmsApplHealthMIBObjects  OBJECT IDENTIFIER ::= { ciscoNmsApplHealthMIB 1 }
ciscoNmsApplHealthMIBConforms OBJECT IDENTIFIER ::= { ciscoNmsApplHealthMIB 2 }
cnaHealthObj                      OBJECT IDENTIFIER     ::= { ciscoNmsApplHealthMIBObjects 1}

--Cisco NMS Application Health Objects

cnaHealthNotifSeqNum OBJECT-TYPE
    SYNTAX  Counter32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The value of this object indicates the sequence number of
         notifications in order for the NMS/OSS to detect missing
         notification(s)."
    ::= { cnaHealthObj 1 }

cnaHealthTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CnaHealthTableEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of information about the health of one or more
         Cisco NMS application(s)."
      ::= { cnaHealthObj 2}

cnaHealthTableEntry OBJECT-TYPE
    SYNTAX      CnaHealthTableEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Entries appear in this table for each possible alarm state."
    INDEX       { cnaHealthTableIndex }
      ::= { cnaHealthTable 1 }

CnaHealthTableEntry::=
    SEQUENCE {
       cnaHealthTableIndex                      Unsigned32,
       cnaHealthStatusChangeTime        DateAndTime,
       cnaHealthName                            SnmpAdminString,
       cnaHealthStatus                          INTEGER,
       cnaHealthSevLevel                        CiscoAlarmSeverity,
       cnaHealthComLineArgs                     SnmpAdminString,
       cnaHealthStatusDesc                      SnmpAdminString
    }

cnaHealthTableIndex OBJECT-TYPE
    SYNTAX     Unsigned32 (1..4294967295)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "This acts as the index to the cnaHealthTable."
    ::= { cnaHealthTableEntry 1 }

cnaHealthStatusChangeTime OBJECT-TYPE
    SYNTAX DateAndTime
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The time when a change in the health status of Cisco NMS
         Application occurs."
    ::= { cnaHealthTableEntry 2 }


cnaHealthName   OBJECT-TYPE
    SYNTAX      SnmpAdminString(SIZE(1..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of this object indicates the name of the NMS application,
         the notification is about."
    ::= { cnaHealthTableEntry 3 }

cnaHealthStatus OBJECT-TYPE
    SYNTAX  INTEGER {
         started  (1),
         stopped  (2),
         busy     (3),
         failed   (4),
         exited   (5)
    }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The value of this object indicates the health/status of the NMS
         application, the notification is reporting about. The possible
         values are:

         started(1)  : started & initialized successfully
         stopped(2)  : stopped successfully
         busy(3)     : not able to respond to any request from health
                       monitor until the status changed to started
         failed(4)   : upon detecting error condition, logged and exited
         exited(5)   : abnormally exited without logging"
    ::= { cnaHealthTableEntry 4 }

cnaHealthSevLevel      OBJECT-TYPE
    SYNTAX             CiscoAlarmSeverity
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION
        "Indicates the severity level of the cna health status Notifications."
    DEFVAL { info }
   ::= { cnaHealthTableEntry 5 }

cnaHealthComLineArgs    OBJECT-TYPE
    SYNTAX SnmpAdminString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The value of this object indicates the command-line arguments of
         the NMS application being reported about in the notifications."
    ::= { cnaHealthTableEntry 6 }

cnaHealthStatusDesc  OBJECT-TYPE
    SYNTAX SnmpAdminString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The value of this object gives a detailed description of the health/
         status of the application being reported in a notification. In case
         of failed(4) status, this field must indicate the error description.
         For any other cnaStatus, this field may contain a description to
         qualify the cnaStatus, like 'Started &     initialized succesfully' or
         an empty string."
    ::= { cnaHealthTableEntry 7 }

-- NOTIFICATION --

cnaHealthNotif NOTIFICATION-TYPE
    OBJECTS   {
         cnaHealthNotifSeqNum,
         cnaHealthStatusChangeTime,
         cnaHealthName,
         cnaHealthStatus,
         cnaHealthSevLevel,
         cnaHealthComLineArgs,
         cnaHealthStatusDesc
    }
    STATUS    current
    DESCRIPTION
        "This notification is sent out to notify normal startup, shutdown,
         intermediate health/status (ex: busy etc.), failed or exit status."
    ::= { ciscoNmsApplHealthNotifs  1 }

-- Conformance

cnaHealthMIBCompliances     OBJECT IDENTIFIER ::= { ciscoNmsApplHealthMIBConforms 1}
cnaHealthMIBGroups          OBJECT IDENTIFIER ::= { ciscoNmsApplHealthMIBConforms 2}


-- Compliance

cnaHealthMIBCompliance     MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for entities which implement
         the Cisco NMS Application Health Monitor MIB."
    MODULE  -- this module
        MANDATORY-GROUPS { cnaHealthMIBGroup, cnaHealthNotifGroup }
    ::= { cnaHealthMIBCompliances 1 }

-- Units of Conformance

cnaHealthMIBGroup         OBJECT-GROUP
    OBJECTS {
            cnaHealthNotifSeqNum,
            cnaHealthTableIndex,
            cnaHealthStatusChangeTime,
            cnaHealthName,
            cnaHealthStatus,
            cnaHealthSevLevel,
            cnaHealthComLineArgs,
            cnaHealthStatusDesc
    }
    STATUS  current
    DESCRIPTION
        "A collection of objects providing Cisco NMS Application
         normal health info"
    ::= { cnaHealthMIBGroups 1 }

cnaHealthNotifGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        cnaHealthNotif
    }
    STATUS  current
    DESCRIPTION
        "The set of notification events a Cisco NMS application
         supports."
    ::= { cnaHealthMIBGroups 2 }

END